1. Field of the Invention
This invention relates to file systems and more particularly relates to file system sharing.
2. Description of the Related Art
Computers are often configured to run a plurality of operating systems. Executing the plurality of operating systems on a single computer allows the computer to perform more functions. For example, a single computer may execute a plurality of operating systems that each execute on a virtual machine of the computer. Each operating system may be used to perform a specific task such as hosting a website. In addition, the plurality of operating systems allows the use of special-purpose operating systems. For example, a special-purpose security operating system may run concurrently on a computer with a general-purpose operating system.
The computer may employ a hypervisor to manage the plurality of operating systems that each execute on the single computer. The hypervisor may load the context of each of the operating systems in turn so that each operating system may perform operations for slice of time. Each of the operating systems shares the processor, memory, and other resources of the computer in turn.
Each operating system typically includes a kernel, a file system, configuration data, and applications. The hypervisor may create a virtual machine for each of the operating systems. Thus while each operating system is executing, the operating system has access to the normal resources of the computer. However, some of the operating system contexts must concurrently be present on the computer. Thus, many copies of kernels, file systems, configuration data, and applications may be stored in the memory.
For example, each of the operating systems may have a file system stored in memory. However, each of the file systems may by itself user significant quantity of memory. As a result, the memory requirements for computers executing a plurality of operating systems are often significant.